package com.hzzy.IDao;

import com.hzzy.bean.HzStudent;
import com.hzzy.bean.HzStudentExample;
import com.hzzy.bean.HzTeacher;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface HzStudentMapper {
    int countByExample(HzStudentExample example);

    int deleteByExample(HzStudentExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(HzStudent record);
    
    int insertStudent(HzStudent record);

    int insertSelective(HzStudent record);

    List<HzStudent> selectByExample(HzStudentExample example);

    HzStudent selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") HzStudent record, @Param("example") HzStudentExample example);

    int updateByExample(@Param("record") HzStudent record, @Param("example") HzStudentExample example);

    int updateByPrimaryKeySelective(HzStudent record);

    int updateByPrimaryKey(HzStudent record);
    
    /*自定义*/

    List<HzStudent> selectHzStudentInfo(Map<String,String> example);
    
    /**
     * 根据条件，获取数据<br/>
     * 含关联表(hz_class表)
     * @param conditions
     * @return
     */
    List<HzStudent>  selectRelationByConditions(Map<String, Object[]> conditions);
    
    /**
     * 根据条件返回部分信息
     * @param map
     * @return
     */
    List<HzStudent> selectPartialInfo(Map<String, Object[]> conditions);
    
    /**
     * 根据条件，对学生信息进行分类
     * @param conditions
     * @return
     */
    List<HzStudent> selectGroupByPartialInfo(Map<String, Object> conditions);
    
    /**
     * 根据学生id 获取当日点到的学生信息
     * @param conditions
     * @return
     */
    List<HzStudent> selectCheckinsStudentInfo(Map<String, Object> conditions);
    
}